package moe.oil.db.repo;

import moe.oil.db.entity.School;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.repository.PagingAndSortingRepository;

import java.util.List;
import java.util.Optional;

/**
 * Created with IntelliJ IDEA.
 * author: 紫月
 * Date: 2022/04/15 22:01
 * Description:
 *
 * @author - -
 */

public interface SchoolRepo extends PagingAndSortingRepository<School, Long> {
    /**
     * 根据学校名称查询学校
     *
     * @param schoolName：学校名称
     * @return：学校信息
     */
    Optional<School> findBySchoolName(String schoolName);

    /**
     * 根据ID查询
     *
     * @param schoolId：学校ID
     * @return：学校信息
     */
    Optional<School> findBySchoolId(Long schoolId);


    /**
     * 查询全部学校信息
     * @return：学校信息 分页
     */
    Page <School> findAll(Pageable pageable);

    /**
     * 根据ID删除学校信息
     *
     * @param schoolId:学校ID
     * @return: 删除结果
     */
    @Modifying
    int deleteBySchoolId(Long schoolId);

    List<School> findAll();
}
